package lgvalle.com.fluxtodo.dagger;

import dagger.Module;
import dagger.Provides;
import de.greenrobot.event.EventBus;
import lgvalle.com.fluxtodo.flux.fluxbase.Dispatcher;

import javax.inject.Singleton;

/**
 * Created by Bruce on 15/8/30.
 */
// 提供依赖的模块
@Module
public class Provider {
    // 返回值为可以提供的类型 参数可自动注入 前提是该类可自动注入 需要显式@Provides注解或者构造方法上inject
    @Singleton
    @Provides
    public EventBus provideEventBus() {
        return EventBus.getDefault();
    }

    @Singleton
    @Provides
    public Dispatcher provideDispatcher(EventBus bus) {
        return new Dispatcher(bus);
    }
}
